package com.xx.happychatboot.serve.user.service;


import com.xx.happychatboot.base.vo.response.ResponseDate;
import com.xx.happychatboot.serve.user.domain.entity.UserApply;
import com.xx.happychatboot.serve.user.domain.vo.response.NewFriendVo;
import io.mybatis.service.BaseService;

import java.util.List;

/**
 * <p>
 * 用户申请表 服务类
 * </p>
 *
 * @author xiaoXuan
 * @since 2025-01-02
 */
public interface IUserApplyService extends BaseService<UserApply, Long> {

    /**
     * 添加好友申请信息
     * @param userApply
     * @return
     */
    ResponseDate applyFriend(UserApply userApply);

    /**
     * 获取好友申请列表
     * @param userId
     * @return
     */
    List<UserApply> getApplyList(Long userId);

    /**
     * 获取好友申请数量
     * @param userId
     * @return
     */
    ResponseDate getApplyListCount(Long userId);

    /**
     * 获取未读好友申请数量
     * @param userId
     * @return
     */
    List<UserApply> getUserApplies(Long userId);

    /**
     * 获取好友申请详细信息
     * @param userId
     * @return
     */
    List<NewFriendVo> getNewFriendList(Long userId);

    /**
     * 同意好友添加
     * @param userApply
     * @return
     */
    ResponseDate agreeAddFried(UserApply userApply);
}
